package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 出入库台账对象 sys_in_out
 *
 * @author ruoyi
 * @date 2024-11-26
 */
public class SysInOut extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long outId;
    private Long deptId;  // 部门ID
    private Long userId;  // 用户ID

    // getter 和 setter 方法
    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }


    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date date;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String keName;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String carNum;

    /** 车型，0表示小货车，1表示中货车，2表示半挂车，3表示其他 */
    @Excel(name = "车型", readConverterExp = "0=小货车,1=中货车,2=半挂车,3=大货车,4=其他车型")
    private Integer carType;

    /** 出入库类型，0表示出库，1表示入库，2表示其他，3表示待处理，4表示已处理 */
    @Excel(name = "出/入库", readConverterExp = "0=入库,1=出库")
    private Integer outIn;

    /** 货物类型，0表示垃圾，1表示石块，2表示细土，3表示废料，4表示其他 */
    @Excel(name = "货物类型",readConverterExp = "0=垃圾,1=石块,2=细土,3=废料,4=其他")
    private Integer huoType;


    /** 货物毛重(吨) */
    @Excel(name = "毛重(吨)")
    private BigDecimal maoZhong;

    /** 皮重(吨) */
    @Excel(name = "皮重(吨)")
    private BigDecimal peZhong;

    /** 净重(吨) */
    @Excel(name = "净重(吨)")
    private BigDecimal jingZhong;

    /** 数量(车) */
    @Excel(name = "数量(车)")
    private Long cheNum;

    /** 单价(元) */
    @Excel(name = "单价(元)")
    private BigDecimal danJia;

    /** 合计金额(元) */
    @Excel(name = "合计金额(元)")
    private BigDecimal totalHeji;

    /** 月结类型，0表示现结，1表示月结，2表示已付款，3表示未付款，4表示其他 */
    @Excel(name = "月结类型", readConverterExp = "0=月结,1=现结,2=未付款,3=其他,4=已付款")
    private Integer monthJie;

    /** 备注 */
    @Excel(name = "备注")
    private String beiZhu;




    public void setOutId(Long outId)
    {
        this.outId = outId;
    }

    public Long getOutId()
    {
        return outId;
    }
    public void setDate(Date date)
    {
        this.date = date;
    }

    public Date getDate()
    {
        return date;
    }
    public void setKeName(String keName)
    {
        this.keName = keName;
    }

    public String getKeName()
    {
        return keName;
    }
    public void setCarNum(String carNum)
    {
        this.carNum = carNum;
    }

    public String getCarNum()
    {
        return carNum;
    }
    public void setCarType(Integer carType)
    {
        this.carType = carType;
    }

    public Integer getCarType()
    {
        return carType;
    }
    public void setMaoZhong(BigDecimal maoZhong)
    {
        this.maoZhong = maoZhong;
    }

    public BigDecimal getMaoZhong()
    {
        return maoZhong;
    }
    public void setPeZhong(BigDecimal peZhong)
    {
        this.peZhong = peZhong;
    }

    public BigDecimal getPeZhong()
    {
        return peZhong;
    }
    public void setJingZhong(BigDecimal jingZhong)
    {
        this.jingZhong = jingZhong;
    }

    public BigDecimal getJingZhong()
    {
        return jingZhong;
    }
    public void setCheNum(Long cheNum)
    {
        this.cheNum = cheNum;
    }

    public Long getCheNum()
    {
        return cheNum;
    }
    public void setDanJia(BigDecimal danJia)
    {
        this.danJia = danJia;
    }

    public BigDecimal getDanJia()
    {
        return danJia;
    }
    public void setTotalHeji(BigDecimal totalHeji)
    {
        this.totalHeji = totalHeji;
    }

    public BigDecimal getTotalHeji()
    {
        return totalHeji;
    }
    public void setMonthJie(Integer monthJie)
    {
        this.monthJie = monthJie;
    }

    public Integer getMonthJie()
    {
        return monthJie;
    }
    public void setBeiZhu(String beiZhu)
    {
        this.beiZhu = beiZhu;
    }

    public String getBeiZhu()
    {
        return beiZhu;
    }
    public void setHuoType(Integer huoType)
    {
        this.huoType = huoType;
    }

    public Integer getHuoType()
    {
        return huoType;
    }
    public void setOutIn(Integer outIn)
    {
        this.outIn = outIn;
    }

    public Integer getOutIn()
    {
        return outIn;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("outId", getOutId())
                .append("date", getDate())
                .append("keName", getKeName())
                .append("carNum", getCarNum())
                .append("carType", getCarType())
                .append("maoZhong", getMaoZhong())
                .append("peZhong", getPeZhong())
                .append("jingZhong", getJingZhong())
                .append("cheNum", getCheNum())
                .append("danJia", getDanJia())
                .append("totalHeji", getTotalHeji())
                .append("monthJie", getMonthJie())
                .append("beiZhu", getBeiZhu())
                .append("huoType", getHuoType())
                .append("outIn", getOutIn())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
